package com.abu.apply.service;


import com.abu.apply.pojo.ApplyReport;
import com.abu.apply.vo.ApplyStatusCountVO;
import com.abu.apply.vo.QueryApplyReportVo;
import com.abu.apply.vo.QueryConditionSelect;
import com.abu.course.vo.ClassroomOrderVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 申请记录表 服务类
 * </p>
 *
 * @author 阿布
 * @since 2021-02-03
 */
public interface ApplyReportService extends IService<ApplyReport> {
    /**
     * 按条件分页查询当前管理员的审批信息
     *
     * @param queryConditionVO
     * @return
     */
    HashMap<String, Object> queryApplyByPage(QueryApplyReportVo queryConditionVO);

    /**
     * 修改审批状态
     *
     * @param applyId
     * @param status
     * @return
     */
    boolean updateState(Long applyId, Integer status);

    /**
     * 查询当前管理员未审批的预定单数量
     *
     * @param reviewerId
     * @param status
     * @return
     */
    Integer queryNonInspectApplyReport(Long reviewerId, Integer status);

    HashMap<String, Object> getTypes();

    HashMap<String, Object> selectByPage(QueryConditionSelect queryConditionSelect);

    HashMap<String, Object> queryPageByCondition(QueryConditionSelect queryConditionSelect);

    HashMap<String, Object> queryApplyListByUserId(Long page, Long limit, String key);

    List<ApplyReport> queryCourseAndApplyHistory(String classroomName);


    List<ApplyStatusCountVO> selectAllCount();


}
